#一个盘子，盘1从a1到a2
#两个盘子，盘1从a1到a3，
#        盘2从a1到a2，
#        盘1从a3到a2
#三个盘子，盘1从a1到a2，
#        盘2从a1到a3
#        盘1从a2到a3
#        盘3从a1到a2
#        盘1从a3到a1
#        盘2从a3到a2
#        盘1从a1到a2
#得出规律
#n个盘子，将n-1个盘子从a1移动到a3，
#      再将盘n(最大的盘子)从a1移动到a2
#      问题就变成了将n-1个盘子从a3移动到a2
#      然后同理递归
def hanoi(n,a1="a1",a2="a2",a3="a3"):#表示将n个盘子从a1到a2
    if n == 1:
        print(f"移动盘子1从{a1}到{a2}")
        return
    hanoi(n-1,a1,a3,a2)#将n-1个盘子从a1移到a3
    print(f"移动盘子{n}从{a1}到{a2}")#将最底下的大盘子从a1移动到a2
    hanoi(n-1,a3,a2,a1)#将剩下的n-1个盘子从a3移到a2
n = int(input("整数:"))
hanoi(n)








